A station (STA) in a wireless network (e.g., a WiFi network) may determine its position (i.e., its location) using a double-differencing technique. In double differencing, an Access Point (AP) sends a positioning message that is tagged with a time of departure (ToD) from the AP, as determined by a clock in the AP. The STA and a reference station (RS) receive the message and tag it with respective times of arrival (ToAs) using respective local clocks in the STA and RS.
When multiple positioning messages are received from different APs, the measured ToAs at the STA and RS can be used together with the ToDs to calculate a relative location of the STA. With this technique, the clock errors of the APs can be eliminated: the APs do not need to be synchronized for the double differencing to produce an accurate location of the STA. Furthermore, if the locations of the RS and the APs are known, then the absolute location of the STA may be determined.
Double differencing presents various challenges. For example, clock error between the STA and RS (e.g., resulting from clock drift in both the STA and RS) may affect the accuracy, particularly if the delay between various positioning messages is significant. In addition, different APs may use different channels. Delay in exchange of ToA timestamps between the RS and STA may reduce accuracy or result in a useless location measurement if the STA is moving. Also, a large number of STAs in the wireless network may attempt to determine their locations simultaneously.